package com.stone.design.mode.iterator;

/**
 * 自定义元素容器接口，可容纳元素
 *
 * @author Mr_wenpan@163.com 2022/01/16 13:46
 */
public interface Container<T> {

    /**
     * 容器基础功能，肯定是可以添加元素的
     *
     * @param element 元素
     */
    void add(T element);

    /**
     * 容器基础功能，肯定是可以移除一个元素的
     *
     * @param element 元素
     */
    void remove(T element);

    /**
     * 获取该容器的一个迭代器用于遍历该容器的元素
     *
     * @return com.stone.design.mode.iterator.Iterator<T> 迭代器
     */
    Iterator<T> iterator();

}
